package LeetCodeDemo;

/***
 * 整数反转问题
 */
public class LeetCode7 {

    public int reverse(int x){
        int res = 0;
        while (x != 0){
            int tmp = x % 10;
//我们不能用long存储最终结果，而且有些数字可能是合法范围内的数字，但是反转过来就超过范围了。
            if (res >= 214748364 || (res==214748364 && tmp > 7)){
                return 0;
            }
            //判断是否 小于 最小32位整数
            if (res<-214748364 || (res==-214748364 && tmp<-8)) {
                return 0;
            }
            res = res*10 + tmp;
            x /= 10;


        }
        return res;
    }

    public static void main(String[] args) {
        LeetCode7 leetCode7 = new LeetCode7();
        int reverse = leetCode7.reverse(-1234567);
        System.out.println("reverse="+reverse);
    }
}


